package com.sonic.log.ejb.interfaces;

import java.util.Properties;

import com.sonic.error.logger.ErrorCodeException;

/**
 * IMQLogger class.<br>
 *
 * @author <b>Adam Dec</b><br><i>Copyright &#169; 2008</i>
 * @category com.sonic.log.ejb
 * @project mQuotes-Middleware
 * @since 2008-10-05
 * @version 1.0
 */
public interface IMQLogger {

	/**
	 * Metoda tworząca wpis do logu na poziomie DEBUG
	 */
	public abstract void debug(String methodName, Properties properties, int errorCode, String message);

	/**
	 * Metoda tworząca wpis do logu na poziomie DEBUG
	 */
	public abstract void debug(String methodName, int errorCode, String message);

	/**
	 * Metoda tworząca wpis do logu na poziomie DEBUG
	 */
	public abstract void debug(String methodName, Properties properties, String message);

	/**
	 * Metoda tworząca wpis do logu na poziomie DEBUG
	 */
	public abstract void debug(String methodName, String message);

	/**
	 * Metoda tworząca wpis do logu na poziomie INFO
	 */
	public abstract void info(String methodName, Properties properties,	String message);

	/**
	 * Metoda tworząca wpis do logu na poziomie INFO
	 */
	public abstract void info(String methodName, String message);

	/**
	 * Metoda tworząca wpis do logu na poziomie INFO
	 */
	public abstract void info(String methodName, Properties properties, int errorCode, String message);

	/**
	 * Metoda tworząca wpis do logu na poziomie INFO
	 */
	public abstract void info(String methodName, int errorCode, String message);

	/**
	 * Metoda tworząca wpis do logu na poziomie ERROR
	 */
	public abstract void error(String methodName, int errorCode, Exception e);

	/**
	 * Metoda tworząca wpis do logu na poziomie ERROR
	 */
	public abstract void error(String methodName, ErrorCodeException e);

	/**
	 * Metoda tworząca wpis do logu na poziomie ERROR
	 */
	public abstract void error(String methodName, Properties properties, int errorCode, Exception e);

	/**
	 * Metoda tworząca wpis do logu na poziomie ERROR
	 */
	public abstract void error(String methodName, Properties properties, ErrorCodeException e);

	/**
	 * Metoda tworząca wpis do logu na poziomie ERROR z errorCodeem 0000000
	 */
	public abstract void error(String methodName, Exception e);

	/**
	 * Metoda tworząca wpis do logu na poziomie ERROR
	 */
	public abstract void error(String methodName, Properties properties, int errorCode, String errorDesc);

	/**
	 * Metoda tworząca wpis do logu na poziomie ERROR
	 */
	public abstract void error(String methodName, int errorCode, String errorDesc);

	/**
	 * Metoda tworząca wpis do logu na poziomie FATAL
	 */
	public abstract void fatal(String methodName, Properties properties, int errorCode, Exception e);

	/**
	 * Metoda tworząca wpis do logu na poziomie FATAL
	 */
	public abstract void fatal(String methodName, Properties properties, ErrorCodeException e);

	/**
	 * Metoda tworząca wpis do logu na poziomie FATAL
	 */
	public abstract void fatal(String methodName, Exception e);

	/**
	 * Metoda tworząca wpis do logu na poziomie FATAL
	 */
	public abstract void fatal(String methodName, int errorCode, Exception e);

	/**
	 * Metoda tworząca wpis do logu na poziomie FATAL
	 */
	public abstract void fatal(String methodName, ErrorCodeException e);

	/**
	 * Metoda tworząca wpis do logu na poziomie FATAL
	 */
	public abstract void fatal(String methodName, Properties properties, int errorCode, String errorDesc);

	/**
	 * Metoda tworząca wpis do logu na poziomie FATAL
	 */
	public abstract void fatal(String methodName, int errorCode, String errorDesc);

	/**
	 * Metoda tworząca wpis do logu na poziomie WARN
	 */
	public abstract void warn(String methodName, int errorCode, Exception e);

	/**
	 * Metoda tworząca wpis do logu na poziomie WARN
	 */
	public abstract void warn(String methodName, ErrorCodeException e);

	/**
	 * Metoda tworząca wpis do logu na poziomie WARN
	 */
	public abstract void warn(String methodName, Properties properties,	int errorCode, Exception e);

	/**
	 * Metoda tworząca wpis do logu na poziomie WARN
	 */
	public abstract void warn(String methodName, Properties properties,	ErrorCodeException e);

	/**
	 * Metoda tworząca wpis do logu na poziomie WARN
	 */
	public abstract void warn(String methodName, Exception e);

	/**
	 * Metoda tworząca wpis do logu na poziomie WARN
	 */
	public abstract void warn(String methodName, Properties properties,	int errorCode, String errorDesc);

	/**
	 * Metoda tworząca wpis do logu na poziomie WARN
	 */
	public abstract void warn(String methodName, int errorCode, String errorDesc);
}
